package com.zuipin.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.zuipin.entity.BaseDictionaryData;
import com.zuipin.util.Pagination;
import com.zuipin.vo.BaseDictionaryDataVo;

import net.sf.json.JSONObject;

/**
 *  字典数据值mapper
  * @ClassName: BaseDictionaryDataMapper
  * @Description: TODO
  * @author robot
  * @date 2017年04月247日 16:56:12
  *
 */
@Mapper
public interface BaseDictionaryDataMapper {
	/**
	  * 查询字典数据值
	  * @Title: findById
	  * @author robot
	  * @date 2017年04月247日 16:56:12
	  * @param id,
	  * @return
	  * @return BaseDictionaryData
	 */
	public BaseDictionaryData findById( Long id);
	
	/**
	  * 插入字典数据值操作
	  * @Title: insert
	  * @author robot
	  * @date 2017年04月247日 16:56:12
	  * @param baseDictionaryData
	  * @return void
	 */
	public void insert(BaseDictionaryData baseDictionaryData);
	
	/**
	  *  更新字典数据值操作
	  * @Title: update
	  * @author robot
	  * @date 2017年04月247日 16:56:12
	  * @param baseDictionaryData
	  * @return void
	 */
	public void update(BaseDictionaryData baseDictionaryData);
	
	/**
	  * 删除字典数据值
	  * @Title: delete
	  * @author robot
	  * @date 2017年04月247日 16:56:12
	  * @param id,
	  * @return void
	 */
	public void delete( Long id);
	
	/**
	 * 搜索字典数据值, 并自动分页
	  *  @Title: seachBaseDictionaryData
	  * @author robot
	  * @date 2017年04月247日 16:56:12
	  * @param baseDictionaryData
	  * @param page
	  * @return
	  * @return List<BaseDictionaryData>
	 */
	public List<BaseDictionaryDataVo> seachBaseDictionaryData(@Param("baseDictionaryData") BaseDictionaryData baseDictionaryData);

	//分页显示商品标签信息列表
	public List<BaseDictionaryData> seachTagInfo(@Param("tagInfo")BaseDictionaryData baseDictionaryData, @Param("page")Pagination page);

	//查询商品标签信息对象通过标签信息ID和状态
	public BaseDictionaryData isExists(JSONObject params);

	//更新状态（未激活，激活，禁用）
	public boolean modifyActive(JSONObject params);

	//插入商品标签信息
	public boolean insertSelective(BaseDictionaryData tagInfo);

	//更新商品标签信息
	public boolean updateByPrimaryKeySelective(BaseDictionaryData tagInfo);

	//通过ID查找商品标签信息
	public BaseDictionaryData findTagInfoById(@Param("tagInfo")BaseDictionaryData tagInfo);
}